Touch gesture technology provides hardware and software that allows computer users to control various applications via the manipulation of one or more digits (e.g., finger(s) and/or thumb) on the surface of a touch-enabled device. Touch gesture technology generally consists of a touch-enabled device such as a touch-sensitive display device (computer display, screen, table, wall, etc.), touchpad, tablet, etc., as well as software that recognizes multiple, substantially simultaneous touch points on the surface of the touch-enabled device.
Conventional systems limit touch gestures to the predefined gesture inputs recognized by the operating system of the touch-enabled device. For example, a touch gesture executed by swiping one finger horizontally across the surface of a touch-enabled device may be defined in an operating system as a command to advance to a next page or element. Touch gestures may also include multi-touch gestures. An example of a multi-touch gesture is making a “pinching” motion with two fingers to zoom in on an image displayed on a multi-touch capable display. Conventional systems may not allow software developers to change predefined touch gestures or define new touch gestures. As such, conventional systems limit software developers' abilities to differentiate touch gesture interfaces for software applications.
Conventional systems may limit the use of touch gesture technology such that only the predefined touch gestures supported by a particular operating system may be used to interact with a software application. For example, a user interfacing with a software application through a touch-enabled device may have a limited set of gestures available for sending a command to the software application. Software developers may also be limited by conventional systems which restrict the use of touch gestures to a predefined set of gestures supported by a particular operating system. A software developer designing a touch-based interface to a software application may be restricted to using, for the interface, only the set of predefined gestures supported by the operating system for which the software application is designed. However, the software developer may wish to differentiate the software application by providing support for a set of custom touch gestures that may be recognized as commands for the software application. For example, the developer may wish to support custom touch gestures that are more intuitive for a user within the context of the software application for which the interface is being designed.